package com.naiterui.ehp.bs.patient.vo.consult;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.naiterui.ehp.bs.patient.vo.doctor.DoctorVO;

/**
 * 问诊VO
 * @author Amber
 * @since 1.0.0
 */
public class ConsultVO implements Serializable {
    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = -3781395626610215339L;
    /**
     * 问诊记录id：<code>consultId</code>
     */
    private Long consultId;
    /**
     * 问诊账单id：<code>billId</code>
     */
    private Long billId;
    /**
     * 医生信息：<code>doctor</code>
     */
    private DoctorVO doctor;
    /**
     * 问诊费用：<code>amount</code>
     */
    private Integer amount;

    /**
     * 消费类型，0：免费；1：收费：<code>costType</code>
     */
    private Integer costType;
    /**
     * 是否需要付费：<code>needPay</code>
     */
    private Boolean needPay;
    /**
     * 是否有推荐用药：<code>haveRecom</code>
     */
    private Boolean haveRecom;
    /**
     * 是否已支付：<code>havePay</code>
     */
    private Boolean havePay;
    /**
     * 开始时间：<code>startTime</code>
     */
    private String startTime;
    /**
     * 结束时间：<code>endTime</code>
     */
    private String endTime;

    /**
     * 状态（咨询中、未支付、已完成）：<code>status</code>
     */
    private String status;

    /**
     * 是否已评价：<code>haveAppraise</code>
     */
    private Boolean haveAppraise;

    /**
     * 临时属性 评价状态。0：未评价；1：已评价：<code>commentStatus</code>
     */
    @JsonIgnore
    private Integer commentStatus;

    public Long getBillId() {
        return billId;
    }

    public void setBillId(Long billId) {
        this.billId = billId;
    }

    /**
     * @return Long 取得域 consultId 的方法。
     */
    public Long getConsultId() {
        return consultId;
    }

    /**
     * @param consultId 对域 consultId 的设置方法.
     */
    public void setConsultId(Long consultId) {
        this.consultId = consultId;
    }

    /**
     * @return DoctorVO 取得域 doctor 的方法。
     */
    public DoctorVO getDoctor() {
        return doctor;
    }

    /**
     * @param doctor 对域 doctor 的设置方法.
     */
    public void setDoctor(DoctorVO doctor) {
        this.doctor = doctor;
    }

    /**
     * @return Integer 取得域 amount 的方法。
     */
    public Integer getAmount() {
        return amount;
    }

    /**
     * @param amount 对域 amount 的设置方法.
     */
    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    /**
     * @return Boolean 取得域 haveRecom 的方法。
     */
    public Boolean getHaveRecom() {
        return haveRecom;
    }

    /**
     * @param haveRecom 对域 haveRecom 的设置方法.
     */
    public void setHaveRecom(Boolean haveRecom) {
        this.haveRecom = haveRecom;
    }

    /**
     * @return Boolean 取得域 havePay 的方法。
     */
    public Boolean getHavePay() {
        return havePay;
    }

    /**
     * @param havePay 对域 havePay 的设置方法.
     */
    public void setHavePay(Boolean havePay) {
        this.havePay = havePay;
    }

    /**
     * @return String 取得域 startTime 的方法。
     */
    public String getStartTime() {
        return startTime;
    }

    /**
     * @param startTime 对域 startTime 的设置方法.
     */
    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    /**
     * @return String 取得域 endTime 的方法。
     */
    public String getEndTime() {
        return endTime;
    }

    /**
     * @param endTime 对域 endTime 的设置方法.
     */
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    /**
     * @return Integer 取得域 costType 的方法。
     */
    public Integer getCostType() {
        return costType;
    }

    /**
     * @param costType 对域 costType 的设置方法.
     */
    public void setCostType(Integer costType) {
        this.costType = costType;
    }

    /**
     * @return Boolean 取得域 needPay 的方法。
     */
    public Boolean getNeedPay() {
        return needPay;
    }

    /**
     * @param needPay 对域 needPay 的设置方法.
     */
    public void setNeedPay(Boolean needPay) {
        this.needPay = needPay;
    }

    /**
     * @return String 取得域 status 的方法。
     */
    public String getStatus() {
        return status;
    }

    /**
     * @param status 对域 status 的设置方法.
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @return Integer 取得域 commentStatus 的方法。
     */
    public Integer getCommentStatus() {
        return commentStatus;
    }

    /**
     * @param commentStatus 对域 commentStatus 的设置方法.
     */
    public void setCommentStatus(Integer commentStatus) {
        this.commentStatus = commentStatus;
    }

    /**
     * @return Boolean 取得域 haveAppraise 的方法。
     */
    public Boolean getHaveAppraise() {
        return haveAppraise;
    }

    /**
     * @param haveAppraise 对域 haveAppraise 的设置方法.
     */
    public void setHaveAppraise(Boolean haveAppraise) {
        this.haveAppraise = haveAppraise;
    }

}
